package com.bzkj.basicinfo.domain.stock;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 库存锁定记录表实体
 *
 *@author lixinyu
 * @date 2025-10-23
 */
@Data
public class WmsStockLockEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 锁定编号 */
    private String lockNo;

    /** 库存主表ID (关联wms_sto_stock或新的库存表) */
    private Long stockId;

    /** 商品ID */
    private String productId;

    /** 批次号 */
    private String batchCode;

    /** 货位号 */
    private String unitCode;

    /** 锁定数量 */
    private BigDecimal lockedQuantity;

    /** 锁定类型(allocate分配锁定/freeze冻结/quality质检锁定/other其他) */
    private String lockType;

    /** 关联单据号 */
    private String relatedOrderNo;

    /** 关联单据类型 */
    private String relatedOrderType;

    /** 锁定状态(locked已锁定/unlocked已解锁) */
    private String lockStatus;

    /** 锁定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lockTime;

    /** 解锁时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date unlockTime;

    /** 操作人 */
    private String operator;

    /** 备注 */
    private String remark;

    /** 创建人 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新人 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 自定义字段1 */
    private String def1;

    /** 自定义字段2 */
    private String def2;

    /** 自定义字段3 */
    private String def3;

    /** 自定义字段4 */
    private String def4;

    /** 自定义字段5 */
    private String def5;
}
